/*
*******************************************************************************
COPYRIGHT 2010 Atech-Automotive
Source File Name : uds_diag_fun.h
Group            : ATECH
Author           : 
Date First Issued:    
********************************Documentation**********************************
General Purpose - This file contains the function for diag request service.
********************************RevisionHistory********************************
_______________________________________________________________________________
Date : MM/DD/YY                       Release : V1.0
Date : 05/10/2010              diag request services function

******************************************************************************/

#ifndef UDS_DIAG_FUN_H
#define UDS_DIAG_FUN_H

/* #include */
#include "system.h"
#include "uds_diag_fun_cfg.h"
#include "uds_diag_read_write_fun.h"
#include "uds_diag_routine_fun.h"
#include "uds_diag_ioctrl_fun.h"

#pragma CODE_SEG  OTHER_ROM


/* #define */
extern UINT8 UdsDiag_GetVbatVoltage(void);

extern UINT16 UdsDiag_GetMaxNumberOfDTC(void);

BOOL UdsDiag_DiagnosticSessionCtrlVoltageTooHigh(void);
BOOL UdsDiag_DiagnosticSessionCtrlVoltageTooLow(void);
BOOL UdsDiag_DiagnosticSessionCtrlProgramCondition(void);

BOOL UdsDiag_ResetEcuCondition(void);

BOOL UdsDiag_SecurityAccessReadAccessCounter(UINT8* p_u8_data);

void UdsDiag_SecurityAccessWriteAccessCounter(UINT8* p_u8_data);

BOOL UdsDiag_CommunicationControlDisableRxTxCondition(void);

BOOL UdsDiag_WriteDataCondition(void);

BOOL UdsDiag_InputOutputControlCondition(void);

BOOL UdsDiag_RoutineControlCondition(void);

BOOL UdsDiag_RoutineDidControlCondition(RoutineCtrl_Cmd_E cmd, ROUTINE_CTRL_ID_E index);

#pragma CODE_SEG  DEFAULT

#endif


/********************* end of uds_diag_fun.h *******************************/
